Computer networks are used to facilitate the exchange of information among computers connected to the network. Such computer networks include computer systems, or clients, that request information from a source and computer systems, or servers, which transmit information to the requesting client.
In one conventional system, a data communications device is placed in the network between the client computers and server computers to route a flow of packets, such as packets containing content requests, from the clients to the respective server computers. The data communications device distributes incoming client requests for data among the servers located within a group of servers or server farm. In this distribution process, known as load balancing, the data communications device prevents a single server within the server bank from becoming overloaded with requests for content by multiple clients.
Conventional data communications devices that couple to a network, such as the Internet, have one or more interfaces that receive a large percentage of the inbound packets containing content requests. Typically, for each packet, the data communications device performs an analysis of the destination, source, and/or content of the content request using a packet processing entity, such as a high-speed packet-forwarding device containing a processor located on the inbound input/output (I/O) communication interface in the data communications device. After performing the analysis, this processor subsequently routes the packets of the content request to an appropriate server for the duration of a data communication session between the client and selected server. The processing power required to quickly process and route packets to servers is relatively high.